package com.zh.mapstruct;

import com.zh.pojo.bo.DriverSettingBo;
import com.zh.pojo.domain.DriverAuthMaterial;
import com.zh.pojo.domain.DriverSetting;
import com.zh.pojo.domain.DriverSummary;
import com.zh.pojo.dto.DriverAuthDto;
import com.zh.pojo.vo.DriverAuthVo;
import com.zh.pojo.vo.DriverWorkBenchVo;
import com.zh.remote.pojo.param.DriverSummaryResult;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * Driver 对象转换 映射结构
 */

@Mapper
public interface DriverStructMapper {
    DriverStructMapper INSTANCE = Mappers.getMapper(DriverStructMapper.class);

    // 将 DriverAuthDto对象  拷贝到 DriverAuthMaterial对象
    DriverAuthMaterial  driverAuthDtoConvertDriverAuthMaterial( DriverAuthDto driverAuthDto);

    /**
     *将  DriverAuthMaterial 对象拷贝到  DriverAuthVo对象中
     * @param driverAuthMaterial
     * @return
     */
    DriverAuthVo driverAuthMaterialConvertToDriverAuthVO(DriverAuthMaterial driverAuthMaterial);
    DriverWorkBenchVo driverSummaryConvertToDriverWorkBenchVo(DriverSummary driverSummary);

    /**
     * DriverAuthMaterial 对象拷贝到 DriverSettingBo对象中
     * @param driverSetting
     * @return
     */
    DriverSettingBo driverSettingConvertToDriverSettingBo(DriverSetting driverSetting);
    DriverSummaryResult driverSummaryConvertToDriverSummaryResult(DriverSummary driverSummary);

}
